home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
modula.zoo
/
_defn_ex_gemvdiba.def
< prev
next >
Wrap
Text File
|
1988-04-24
|
3KB
|
92 lines
DEFINITION MODULE GEMVDIbase;
(* ------------------------------------------------------------- *)
(* *)
(* Modula-2 interface to GEM Virtual Device Interface *)
(* *)
(* ------------------------------------------------------------- *)
(* ------------------------------------------------------------- *)
(* (c) Copyright Lehrstuhl für Prozeßrechner TU München 1987 *)
(* ------------------------------------------------------------- *)
FROM SYSTEM IMPORT ADDRESS;
TYPE
VDIWorkInType = ARRAY [0..10] OF INTEGER;
VDIWorkOutType = ARRAY [0..57] OF INTEGER;
PxyArrayType = ARRAY [0..3] OF INTEGER;
BigPxyArrayType = ARRAY [0..7] OF INTEGER;
MouseArrayType = ARRAY [0..38] OF INTEGER;
SmallArrayType = ARRAY [0..1] OF INTEGER;
RGBArrayType = ARRAY [0..2] OF INTEGER;
TextAttrArrayType = ARRAY [0..9] OF INTEGER;
FontNameType = ARRAY [0..31] OF CHAR;
DistanceArrayType = ARRAY [0..4] OF INTEGER;
FilmNameType = ARRAY [0..124] OF CHAR;
FilmIndexType = ARRAY [0..7],[0..1] OF INTEGER;
CtrlArrayType = ARRAY [0..127] OF INTEGER;
VAR
contrl: ARRAY [0..11] OF INTEGER;
intin,
ptsin,
intout,
ptsout: CtrlArrayType;
i, h: INTEGER;
ADRintin,
ADRptsin,
ADRintout,
ADRptsout,
ADRParams: ADDRESS;
parameterBlock: ARRAY [0..4] OF ADDRESS;
PROCEDURE CopyInt (VAR IntArray: ARRAY OF INTEGER; length: INTEGER);
(* Copy IntArray[0] ... IntArray[length-1]
to intin[0] ... intin[length-1] *)
PROCEDURE CopyPxy (VAR PxyArray: ARRAY OF INTEGER; pts: INTEGER);
(* Copy PxyArray[0] ... PxyArray[pts*2 - 1]
to ptsin[0] ... ptsin[pts*2 - 1] *)
PROCEDURE CallVDI;
(* Perform trap to GEM VDI *)
PROCEDURE CallVDI2 (function, handle: INTEGER);
(* Set contrl[0] and contrl[6] and perform trap to GEM VDI *)
PROCEDURE CallVDI4 (function, handle, pts, int: INTEGER);
(* Like "CallVDI2", additionally sets contrl[1] and contrl[3] *)
PROCEDURE CallVDI5 (function, subfunction, handle, pts, int: INTEGER);
(* Like "CallVDI4", additionally sets contrl[5] with "subfunction" *)
PROCEDURE SetContrl (c0, c1, c3, c5, c6: INTEGER);
(* Set passed parameters into the control array,
subsequent call of "CallVDI" necessary *)
END GEMVDIbase.